package br.com.bancoeXtreme.tratadoresxml;

import java.io.File;
import java.io.IOException;


import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;

import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;

import br.com.bancoeXtreme.transacoes.servidor.TransacaoServidorTransferenciaMesmoBanco;

public class SAXParserClienteTransferenciaMesmoBanco extends DefaultHandler{
	private TransacaoServidorTransferenciaMesmoBanco transacaoServidorTransferenciaMesmoBanco = new TransacaoServidorTransferenciaMesmoBanco();
	private String tagAtual;

	
	public TransacaoServidorTransferenciaMesmoBanco parseTransacaoTransferenciaMesmoBanco(File arquivoXML){


		SAXParserFactory spf = SAXParserFactory.newInstance();
		SAXParser parser = null;
		try {
			parser = spf.newSAXParser();
			parser.parse(arquivoXML,this);
		} catch (ParserConfigurationException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SAXException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return transacaoServidorTransferenciaMesmoBanco;
	}
	
	public void startElement(String uri, String localName, String tag, Attributes atributos ){
		this.tagAtual = tag;
	}
	
	public void characters(char ch[], int start, int lenght) {
		String tmp = new String(ch,start,lenght);
		if (tagAtual == "aceita"){
			transacaoServidorTransferenciaMesmoBanco.setAceita(tmp.trim());
			tagAtual = "";
		} else {
			if (tagAtual == "data"){

			} else {
				if (tagAtual == "mensagem"){
					transacaoServidorTransferenciaMesmoBanco.setMensagem(tmp.trim());
					tagAtual = "";
				} else {
					if (tagAtual == "tipo"){
					
					}
				}
			}
		}
	}
}
